home *** CD-ROM | disk | FTP | other *** search
/ Microsoft Internet Strate…Tools for the Enterprise / Microsoft Internet Strategy & Tools for the Enterprise.iso / content / devel.tls / icp / vbsamp / qukmail.exe / FRMMAIL.FRM (.txt) < prev    next >
Visual Basic Form  |  1996-03-10  |  26KB  |  708 lines

  1. VERSION 4.00
  2. Begin VB.Form frmBulkMail 
  3.    Caption         =   "Bulk Mail Distribution"
  4.    ClientHeight    =   6540
  5.    ClientLeft      =   1245
  6.    ClientTop       =   1560
  7.    ClientWidth     =   8955
  8.    Height          =   6945
  9.    Icon            =   "frmMail.frx":0000
  10.    Left            =   1185
  11.    LinkTopic       =   "Form1"
  12.    LockControls    =   -1  'True
  13.    ScaleHeight     =   6540
  14.    ScaleWidth      =   8955
  15.    Top             =   1215
  16.    Width           =   9075
  17.    Begin VB.PictureBox SizeBar 
  18.       BorderStyle     =   0  'None
  19.       Height          =   5805
  20.       Left            =   3390
  21.       MousePointer    =   9  'Size W E
  22.       ScaleHeight     =   5805
  23.       ScaleWidth      =   30
  24.       TabIndex        =   14
  25.       Top             =   390
  26.       Width           =   25
  27.    End
  28.    Begin VB.Timer tmrStatus 
  29.       Left            =   9000
  30.       Top             =   690
  31.    End
  32.    Begin TabDlg.SSTab tabMail 
  33.       Height          =   5805
  34.       Left            =   3420
  35.       TabIndex        =   15
  36.       Top             =   390
  37.       Width           =   5535
  38.       _Version        =   65536
  39.       _ExtentX        =   9763
  40.       _ExtentY        =   10239
  41.       _StockProps     =   15
  42.       Caption         =   "(SMTP) Send Mail"
  43.       TabsPerRow      =   3
  44.       Tab             =   0
  45.       TabOrientation  =   0
  46.       Tabs            =   3
  47.       Style           =   1
  48.       TabMaxWidth     =   0
  49.       TabHeight       =   520
  50.       TabCaption(0)   =   "(SMTP) Send Mail"
  51.       Tab(0).ControlCount=   9
  52.       Tab(0).ControlEnabled=   -1  'True
  53.       Tab(0).Control(0)=   "Label1(2)"
  54.       Tab(0).Control(1)=   "Label1(0)"
  55.       Tab(0).Control(2)=   "txtBody"
  56.       Tab(0).Control(3)=   "txtTo"
  57.       Tab(0).Control(4)=   "txtCc"
  58.       Tab(0).Control(5)=   "txtSubject"
  59.       Tab(0).Control(6)=   "cmdTo"
  60.       Tab(0).Control(7)=   "cmdCc"
  61.       Tab(0).Control(8)=   "txtFrom"
  62.       TabCaption(1)   =   "(POP 3) Inbound Mail"
  63.       Tab(1).ControlCount=   6
  64.       Tab(1).ControlEnabled=   0   'False
  65.       Tab(1).Control(0)=   "txtMessage"
  66.       Tab(1).Control(1)=   "txtMessageNumber"
  67.       Tab(1).Control(2)=   "mailSpooler"
  68.       Tab(1).Control(3)=   "Label1(7)"
  69.       Tab(1).Control(4)=   "lblMessageCount"
  70.       Tab(1).Control(5)=   "Label1(8)"
  71.       TabCaption(2)   =   "Connection Options"
  72.       Tab(2).ControlCount=   2
  73.       Tab(2).ControlEnabled=   0   'False
  74.       Tab(2).Control(0)=   "Frame1(1)"
  75.       Tab(2).Control(1)=   "Frame1(0)"
  76.       Begin VB.Frame Frame1 
  77.          Caption         =   "POP3"
  78.          Height          =   1155
  79.          Index           =   1
  80.          Left            =   -74880
  81.          TabIndex        =   25
  82.          Top             =   1500
  83.          Width           =   3405
  84.          Begin VB.TextBox txtPOP3Password 
  85.             Height          =   285
  86.             Left            =   990
  87.             PasswordChar    =   "*"
  88.             TabIndex        =   10
  89.             Top             =   780
  90.             Width           =   2295
  91.          End
  92.          Begin VB.TextBox txtPOP3Username 
  93.             Height          =   285
  94.             Left            =   990
  95.             TabIndex        =   9
  96.             Top             =   480
  97.             Width           =   2295
  98.          End
  99.          Begin VB.TextBox txtPOP3Server 
  100.             Height          =   285
  101.             Left            =   990
  102.             TabIndex        =   8
  103.             Top             =   180
  104.             Width           =   2295
  105.          End
  106.          Begin VB.Label Label1 
  107.             AutoSize        =   -1  'True
  108.             Caption         =   "Password:"
  109.             Height          =   195
  110.             Index           =   6
  111.             Left            =   240
  112.             TabIndex        =   28
  113.             Top             =   840
  114.             Width           =   735
  115.          End
  116.          Begin VB.Label Label1 
  117.             AutoSize        =   -1  'True
  118.             Caption         =   "Username:"
  119.             Height          =   195
  120.             Index           =   5
  121.             Left            =   210
  122.             TabIndex        =   27
  123.             Top             =   540
  124.             Width           =   765
  125.          End
  126.          Begin VB.Label Label1 
  127.             AutoSize        =   -1  'True
  128.             Caption         =   "Server:"
  129.             Height          =   195
  130.             Index           =   4
  131.             Left            =   450
  132.             TabIndex        =   26
  133.             Top             =   240
  134.             Width           =   510
  135.          End
  136.       End
  137.       Begin VB.Frame Frame1 
  138.          Caption         =   "SMTP"
  139.          Height          =   945
  140.          Index           =   0
  141.          Left            =   -74880
  142.          TabIndex        =   23
  143.          Top             =   420
  144.          Width           =   3405
  145.          Begin VB.TextBox txtSMTPServer 
  146.             Height          =   285
  147.             Left            =   990
  148.             TabIndex        =   7
  149.             Top             =   240
  150.             Width           =   2295
  151.          End
  152.          Begin VB.Label Label1 
  153.             AutoSize        =   -1  'True
  154.             Caption         =   "Server:"
  155.             Height          =   195
  156.             Index           =   3
  157.             Left            =   450
  158.             TabIndex        =   24
  159.             Top             =   300
  160.             Width           =   510
  161.          End
  162.       End
  163.       Begin VB.TextBox txtMessage 
  164.          Height          =   4725
  165.          Left            =   -74970
  166.          MultiLine       =   -1  'True
  167.          ScrollBars      =   3  'Both
  168.          TabIndex        =   6
  169.          Top             =   1020
  170.          Width           =   5415
  171.       End
  172.       Begin VB.TextBox txtMessageNumber 
  173.          Height          =   285
  174.          Left            =   -73455
  175.          TabIndex        =   5
  176.          Text            =   "1"
  177.          Top             =   660
  178.          Width           =   675
  179.       End
  180.       Begin VB.Timer mailSpooler 
  181.          Left            =   -71745
  182.          Top             =   480
  183.       End
  184.       Begin VB.TextBox txtFrom 
  185.          Height          =   285
  186.          Left            =   870
  187.          TabIndex        =   3
  188.          Top             =   945
  189.          Width           =   3735
  190.       End
  191.       Begin VB.CommandButton cmdCc 
  192.          Caption         =   "&Cc"
  193.          Height          =   255
  194.          Left            =   90
  195.          TabIndex        =   17
  196.          TabStop         =   0   'False
  197.          Top             =   675
  198.          Width           =   705
  199.       End
  200.       Begin VB.CommandButton cmdTo 
  201.          Caption         =   "&To"
  202.          Height          =   255
  203.          Left            =   90
  204.          TabIndex        =   16
  205.          TabStop         =   0   'False
  206.          Top             =   375
  207.          Width           =   705
  208.       End
  209.       Begin VB.TextBox txtSubject 
  210.          Height          =   285
  211.          Left            =   870
  212.          TabIndex        =   2
  213.          Top             =   1245
  214.          Width           =   3735
  215.       End
  216.       Begin VB.TextBox txtCc 
  217.          Height          =   285
  218.          Left            =   870
  219.          TabIndex        =   1
  220.          Top             =   645
  221.          Width           =   3735
  222.       End
  223.       Begin VB.TextBox txtTo 
  224.          Height          =   285
  225.          Left            =   870
  226.          TabIndex        =   0
  227.          Top             =   345
  228.          Width           =   3735
  229.       End
  230.       Begin VB.TextBox txtBody 
  231.          Height          =   4155
  232.          HideSelection   =   0   'False
  233.          Left            =   45
  234.          MultiLine       =   -1  'True
  235.          ScrollBars      =   3  'Both
  236.          TabIndex        =   4
  237.          Top             =   1575
  238.          Width           =   5415
  239.       End
  240.       Begin VB.Label Label1 
  241.          AutoSize        =   -1  'True
  242.          Caption         =   "Message Count:"
  243.          Height          =   195
  244.          Index           =   7
  245.          Left            =   -74880
  246.          TabIndex        =   22
  247.          Top             =   390
  248.          Width           =   1155
  249.       End
  250.       Begin VB.Label lblMessageCount 
  251.          Caption         =   "0"
  252.          Height          =   165
  253.          Left            =   -73410
  254.          TabIndex        =   21
  255.          Top             =   420
  256.          Width           =   765
  257.       End
  258.       Begin VB.Label Label1 
  259.          AutoSize        =   -1  'True
  260.          Caption         =   "Message Number:"
  261.          Height          =   195
  262.          Index           =   8
  263.          Left            =   -74895
  264.          TabIndex        =   20
  265.          Top             =   690
  266.          Width           =   1290
  267.       End
  268.       Begin VB.Label Label1 
  269.          AutoSize        =   -1  'True
  270.          Caption         =   "&From:"
  271.          Height          =   195
  272.          Index           =   0
  273.          Left            =   390
  274.          TabIndex        =   18
  275.          Top             =   1005
  276.          Width           =   390
  277.       End
  278.       Begin VB.Label Label1 
  279.          AutoSize        =   -1  'True
  280.          Caption         =   "&Subject:"
  281.          Height          =   195
  282.          Index           =   2
  283.          Left            =   210
  284.          TabIndex        =   11
  285.          Top             =   1305
  286.          Width           =   585
  287.       End
  288.    End
  289.    Begin ComctlLib.Toolbar Tools 
  290.       Align           =   1  'Align Top
  291.       Height          =   390
  292.       Left            =   0
  293.       TabIndex        =   19
  294.       Top             =   0
  295.       Width           =   8955
  296.       _Version        =   65536
  297.       _ExtentX        =   15796
  298.       _ExtentY        =   688
  299.       _StockProps     =   96
  300.       ImageList       =   "imgButtons"
  301.       NumButtons      =   11
  302.       i1              =   "frmMail.frx":0442
  303.       i2              =   "frmMail.frx":05E1
  304.       i3              =   "frmMail.frx":0794
  305.       i4              =   "frmMail.frx":094B
  306.       i5              =   "frmMail.frx":0AEA
  307.       i6              =   "frmMail.frx":0C91
  308.       i7              =   "frmMail.frx":0E5C
  309.       i8              =   "frmMail.frx":0FFB
  310.       i9              =   "frmMail.frx":11B6
  311.       i10             =   "frmMail.frx":1391
  312.       i11             =   "frmMail.frx":1531
  313.       AlignSet        =   -1  'True
  314.    End
  315.    Begin POPCTLib.POPCT POPCT 
  316.       Left            =   9000
  317.       Top             =   2970
  318.       _ExtentX        =   847
  319.       _ExtentY        =   847
  320.       RemoteHost      =   "127.0.0.1"
  321.       RemotePort      =   110
  322.       ConnectTimeout  =   0
  323.       RecvTimeout     =   0
  324.       NotificationMode=   1
  325.       UserId          =   ""
  326.       Password        =   ""
  327.       TopLines        =   49
  328.    End
  329.    Begin SMTPCTLib.smtpct SMTPCT 
  330.       Left            =   9000
  331.       Top             =   2340
  332.       _ExtentX        =   847
  333.       _ExtentY        =   847
  334.       RemoteHost      =   "mail"
  335.       RemotePort      =   25
  336.       ConnectTimeout  =   0
  337.       RecvTimeout     =   0
  338.       NotificationMode=   0
  339.    End
  340.    Begin ComctlLib.ImageList imgTree 
  341.       Left            =   9000
  342.       Top             =   1740
  343.       _Version        =   65536
  344.       _ExtentX        =   1005
  345.       _ExtentY        =   1005
  346.       _StockProps     =   1
  347.       BackColor       =   -2147483643
  348.       ImageWidth      =   16
  349.       ImageHeight     =   16
  350.       MaskColor       =   12632256
  351.       NumImages       =   3
  352.       i1              =   "frmMail.frx":170D
  353.       i2              =   "frmMail.frx":1C04
  354.       i3              =   "frmMail.frx":1E03
  355.    End
  356.    Begin ComctlLib.ImageList imgButtons 
  357.       Left            =   9000
  358.       Top             =   1140
  359.       _Version        =   65536
  360.       _ExtentX        =   1005
  361.       _ExtentY        =   1005
  362.       _StockProps     =   1
  363.       BackColor       =   -2147483643
  364.       ImageWidth      =   16
  365.       ImageHeight     =   16
  366.       MaskColor       =   12632256
  367.       NumImages       =   7
  368.       i1              =   "frmMail.frx":22FA
  369.       i2              =   "frmMail.frx":26B9
  370.       i3              =   "frmMail.frx":2A78
  371.       i4              =   "frmMail.frx":2C77
  372.       i5              =   "frmMail.frx":2E76
  373.       i6              =   "frmMail.frx":3235
  374.       i7              =   "frmMail.frx":35F4
  375.    End
  376.    Begin ComctlLib.StatusBar Status 
  377.       Align           =   2  'Align Bottom
  378.       Height          =   345
  379.       Left            =   0
  380.       TabIndex        =   13
  381.       Top             =   6195
  382.       Width           =   8955
  383.       _Version        =   65536
  384.       _ExtentX        =   15796
  385.       _ExtentY        =   609
  386.       _StockProps     =   68
  387.       AlignSet        =   -1  'True
  388.       SimpleText      =   ""
  389.       _timers         =   2
  390.       NumPanels       =   5
  391.       i1              =   "frmMail.frx":37F3
  392.       i2              =   "frmMail.frx":3921
  393.       i3              =   "frmMail.frx":3A4F
  394.       i4              =   "frmMail.frx":3B5B
  395.       i5              =   "frmMail.frx":3CAB
  396.    End
  397.    Begin ComctlLib.TreeView Tree 
  398.       Height          =   5805
  399.       Left            =   0
  400.       TabIndex        =   12
  401.       TabStop         =   0   'False
  402.       Top             =   390
  403.       Width           =   3375
  404.       _Version        =   65536
  405.       _ExtentX        =   5953
  406.       _ExtentY        =   10239
  407.       _StockProps     =   196
  408.       Appearance      =   1
  409.       BorderStyle     =   1
  410.       HideSelection   =   0   'False
  411.       ImageList       =   "imgTree"
  412.       Indentation     =   441
  413.       LabelEdit       =   1
  414.       PathSeparator   =   "\"
  415.       Style           =   7
  416.    End
  417. Attribute VB_Name = "frmBulkMail"
  418. Attribute VB_Creatable = False
  419. Attribute VB_Exposed = False
  420. Option Explicit
  421. Public CurrentNode As Node
  422. Public Addresses As String
  423. '------------------------------------------------------------
  424. Private Sub cmdCc_Click()
  425. '------------------------------------------------------------
  426.     Dim NodeC As Node
  427. '------------------------------------------------------------
  428.     If (CurrentNode.Key = MAILGROUPROOT) Then Exit Sub
  429.     If (CurrentNode.Children > 0) Then
  430.         Set NodeC = CurrentNode.Child
  431.         Do
  432. '           txtCc.Text = txtCc.Text & NodeC.Text & ", "
  433.             txtCc.Text = NodeC.Text
  434.             Set NodeC = NodeC.Next
  435.         Loop Until (NodeC Is Nothing)                   ' While Child Nodes Exist
  436.     Else
  437. '       txtCc.Text = txtCc.Text & CurrentNode.Text & ", "
  438.         txtCc.Text = CurrentNode.Text
  439.     End If
  440. '------------------------------------------------------------
  441. End Sub
  442. '------------------------------------------------------------
  443. '------------------------------------------------------------
  444. Private Sub cmdTo_Click()
  445. '------------------------------------------------------------
  446.     Dim NodeC As Node
  447. '------------------------------------------------------------
  448.     If (CurrentNode.Key = MAILGROUPROOT) Then Exit Sub
  449.     If (CurrentNode.Children > 0) Then
  450.         Set NodeC = CurrentNode.Child
  451.         Do
  452. '           txtTo.Text = txtTo.Text & NodeC.Text & ", "
  453.             txtTo.Text = NodeC.Text
  454.             Set NodeC = NodeC.Next
  455.         Loop Until (NodeC Is Nothing)                   ' While Child Nodes Exist
  456.     Else
  457. '       txtTo.Text = txtTo.Text & CurrentNode.Text & ", "
  458.         txtTo.Text = CurrentNode.Text
  459.     End If
  460. '------------------------------------------------------------
  461. End Sub
  462. '------------------------------------------------------------
  463. '------------------------------------------------------------
  464. Private Sub Form_Load()
  465. '------------------------------------------------------------
  466.     Dim aPath As String
  467. '------------------------------------------------------------
  468.     aPath = App.Path
  469.     If (Left(aPath, 1) <> "\") Then aPath = aPath & "\"
  470.     Addresses = aPath & ADDRESSBOOK
  471.     Call BuildDatabase(Addresses, sqlSCRIPT1, sqlSCRIPT2)   ' If database does not exist then create it...
  472.     Set CurrentNode = Tree.Nodes.Add(, , MAILGROUPROOT, MAILGROUPROOT, icoROOT)
  473.     Call AddAliasesToTree(Tree, Addresses)
  474.     CurrentNode.Expanded = True
  475.     CurrentNode.Selected = True
  476.     Status.Panels.Item(pnlPOPSTATE).Text = POPCT.StateString
  477.     Status.Panels.Item(pnlSMTPSTATE).Text = smtpct.StateString
  478. '------------------------------------------------------------
  479. End Sub
  480. '------------------------------------------------------------
  481. '------------------------------------------------------------
  482. Private Sub Form_Resize()
  483. '------------------------------------------------------------
  484.     Dim W As Long
  485.     Dim H As Long
  486.     Dim BDR As Long
  487. '------------------------------------------------------------
  488.     H = Abs(Me.ScaleHeight - Status.Height - Tools.Height)
  489.     Tree.Height = H
  490.     SizeBar.Height = H
  491.     BDR = 2 * SizeBar.Width
  492.     W = Abs(Me.ScaleWidth - SizeBar.Left - SizeBar.Width)
  493.     tabMail.Move tabMail.Left, tabMail.Top, W, H
  494.     With txtBody
  495.         .Move .Left, .Top, Abs(W - (2 * BDR)), Abs(H - .Top - BDR)
  496.     End With
  497.     With txtMessage
  498.         .Move .Left, .Top, Abs(W - (2 * BDR)), Abs(H - .Top - BDR)
  499.     End With
  500. '------------------------------------------------------------
  501. End Sub
  502. '------------------------------------------------------------
  503. Private Sub lblMessageCount_Click()
  504.     lblMessageCount.Caption = Format(POPCT.MessageCount, "0")
  505. End Sub
  506. Private Sub mailSpooler_Timer()
  507.     If ((POPCT.State = prcConnected) And _
  508.         (POPCT.ProtocolState = prcTransaction) And _
  509.         (POPCT.MessageCount > 0)) Then
  510.         POPCT.RetrieveMessage 1
  511.     End If
  512. End Sub
  513. Private Sub POPCT_Authenticate()
  514.     Status.Panels.Item(pnlPOPSTATE).Text = "Authenticated"
  515.     lblMessageCount.Caption = Format(POPCT.MessageCount, "0")
  516.     Tools.Buttons(tbSTARTTIMER).Enabled = True
  517.     Tools.Buttons(tbRECEIVEMAIL).Enabled = True
  518. End Sub
  519. Private Sub POPCT_DocOutput(ByVal DocOutput As DocOutput)
  520.     Dim msg As Variant
  521.     Select Case DocOutput.State
  522.     Case icDocBegin
  523.         Debug.Print "POPCT: Download Started."
  524.         txtMessage.Text = ""
  525.     Case icDocHeaders
  526.         Debug.Print "POPCT: Downloading Headers...", DocOutput.Headers.Count
  527.         Dim x As DocHeader
  528.         For Each x In DocOutput.Headers
  529.             Debug.Print "Header: " & x.Name, x.Value
  530.         Next
  531.     Case icDocData
  532.         DocOutput.GetData msg
  533.         
  534.         Debug.Print "POPCT: Downloading Data..."
  535.         txtMessage.Text = txtMessage.Text & msg
  536.     Case icDocEnd
  537.         Dim Group As String, Alias As String
  538.         Debug.Print "POPCT: Download Complete."
  539.         
  540.         If (ParseMessage(txtMessage.Text, Group, Alias)) Then
  541.             Call AddAliasToDatabase(Addresses, Group, Alias)
  542.             Call AddAliasesToTree(Tree, Addresses)
  543.             Debug.Print "ParseMessage:Success"
  544.         Else
  545.             Debug.Print "ParseMessage:Error"
  546.         End If
  547.         
  548.         POPCT.Delete 1          ' Delete message that just finished downloading
  549.         POPCT.Reset             ' Update mail message list...
  550.     Case icDocError
  551.     Case icDocNone
  552.     Case Else
  553.     End Select
  554. End Sub
  555. Private Sub POPCT_Error(Number As Integer, Description As String, Scode As Long, Source As String, HelpFile As String, HelpContext As Long, CancelDisplay As Boolean)
  556. '   Debug.Print "POPCT Error:"
  557. '   Debug.Print "Number:", Number
  558. '   Debug.Print "Description:", Description
  559. '   Debug.Print "Scode:", Hex$(Scode)
  560. '   Debug.Print "Source:", Source
  561. End Sub
  562. Private Sub POPCT_ProtocolStateChanged(ByVal ProtocolState As Integer)
  563.     Debug.Print "POPCT: ProtocolState: " & POPCT.ProtocolStateString
  564.     Select Case ProtocolState
  565.     Case prcNone
  566.     Case prcAuthorization
  567.        'POPCT.UserId = txtPOP3Username.Text
  568.        'POPCT.Password = txtPOP3Password.Text
  569.        'POPCT.Authenticate
  570.         POPCT.Authenticate txtPOP3Username.Text, txtPOP3Password.Text
  571.     Case prcTransaction
  572.     Case prcUpdate
  573.     End Select
  574. End Sub
  575. Private Sub POPCT_StateChanged(ByVal State As Integer)
  576.     Status.Panels.Item(pnlPOPSTATE).Text = POPCT.StateString
  577.     Select Case State
  578.     Case prcConnecting, prcConnected
  579.     Case prcDisconnecting, prcDisconnected
  580.         Tools.Buttons(tbSTARTTIMER).Enabled = False
  581.         Tools.Buttons(tbRECEIVEMAIL).Enabled = False
  582.         mailSpooler.Interval = 0                    ' Set mailspooler to 1 minute
  583.         lblMessageCount.Caption = "0"
  584.     Case Else
  585.     End Select
  586. End Sub
  587. '------------------------------------------------------------
  588. Private Sub SizeBar_MouseMove(Button As Integer, Shift As Integer, x As Single, Y As Single)
  589. '------------------------------------------------------------
  590.     If (Button = vbLeftButton) Then                 ' If Left Button Down
  591.         SizeBar.Left = SizeBar.Left + x             ' Move Size Bar
  592.         Me.Refresh                                  ' Refresh improves appearence
  593.     End If
  594. '------------------------------------------------------------
  595. End Sub
  596. '------------------------------------------------------------
  597. '------------------------------------------------------------
  598. Private Sub SizeBar_MouseUp(Button As Integer, Shift As Integer, x As Single, Y As Single)
  599. '------------------------------------------------------------
  600.     Dim L As Long, W As Long, SW As Long
  601.     Dim L2 As Long, W2 As Long
  602. '------------------------------------------------------------
  603.     With SizeBar
  604.         L = .Left
  605.         W = .Width
  606.         SW = Me.ScaleWidth
  607.         
  608.         If (L < W) Then                             ' Outside Left Of Window
  609.             L = W                                   ' Fix Position
  610.             .Left = L                               ' Adjust sizebar position
  611.         ElseIf (L > SW) Then                        ' Outside Right Of Window
  612.             L = SW - W                              ' Fix Position
  613.             .Left = L                               ' Adjust sizebar position
  614.         End If
  615.         
  616.         Tree.Width = Abs(L - Tree.Left)             ' Resize TreeView Width
  617.         L2 = L + W
  618.         W2 = Abs(SW - L - W)
  619.         
  620.         tabMail.Move L2, tabMail.Top, W2
  621.         txtBody.Width = Abs(W2 - (4 * W))
  622.         txtMessage.Width = txtBody.Width
  623.     End With
  624. '------------------------------------------------------------
  625. End Sub
  626. '------------------------------------------------------------
  627. Private Sub smtpct_DocInput(ByVal DocInput As DocInput)
  628.     Select Case DocInput.State
  629.     Case icDocBegin
  630.         Debug.Print "SMTPCT: Send Start."
  631.     Case icDocHeaders
  632.         Debug.Print "SMTPCT: Sending Headers..."
  633.     Case icDocData
  634.         Debug.Print "SMTPCT: Sending Data..."
  635.     Case icDocEnd
  636.         Debug.Print "SMTPCT: Send Complete."
  637.     Case icDocError
  638.     Case icDocNone
  639.     End Select
  640. End Sub
  641. Private Sub smtpct_Error(Number As Integer, Description As String, Scode As Long, Source As String, HelpFile As String, HelpContext As Long, CancelDisplay As Boolean)
  642. '   Debug.Print "SMTPCT Error:"
  643. '   Debug.Print "Number:", Number
  644. '   Debug.Print "Description:", Description
  645. '   Debug.Print "Scode:", Hex$(Scode)
  646. '   Debug.Print "Source:", Source
  647. End Sub
  648. Private Sub smtpct_ProtocolStateChanged(ByVal ProtocolState As Integer)
  649.     Debug.Print "SMTPCT: ProtocolState: " & smtpct.ProtocolStateString
  650. End Sub
  651. Private Sub SMTPCT_StateChanged(ByVal State As Integer)
  652.     Status.Panels.Item(pnlSMTPSTATE).Text = smtpct.StateString
  653. End Sub
  654. '------------------------------------------------------------
  655. Private Sub Tools_ButtonClick(ByVal Button As Button)
  656. '------------------------------------------------------------
  657.     Select Case Button.Index
  658.     Case tbCONNECT
  659.         POPCT.RemoteHost = txtPOP3Server.Text
  660.         POPCT.UserId = txtPOP3Username.Text
  661.         POPCT.Password = txtPOP3Password.Text
  662.         
  663.         POPCT.Connect
  664.     Case tbDISCONNECT
  665.         POPCT.Quit
  666.     Case tbSENDMAIL
  667.         Dim HDRs As DocHeaders
  668.         smtpct.RemoteHost = txtSMTPServer.Text
  669.         
  670.         Set HDRs = smtpct.DocInput.Headers
  671.         HDRs.Clear
  672.         HDRs.Add "To", txtTo.Text
  673.         HDRs.Add "CC", txtCc.Text
  674.         HDRs.Add "From", txtFrom.Text
  675.         HDRs.Add "Subject", txtSubject.Text
  676.         HDRs.Add "Message-Id", "<" & App.Title & _
  677.                                "." & Format(Date) & _
  678.                                "." & Format(Timer) & _
  679.                                "." & txtFrom.Text & ">"
  680.                                
  681.         HDRs.Add "Content-Type", "TEXT/PLAIN; charset=US-ASCII"
  682.         HDRs.Add "Content-Length", " " & Len(txtBody.Text) + 2
  683.         
  684.         smtpct.SendDoc , HDRs, txtBody.Text
  685.     Case tbRECEIVEMAIL
  686.         POPCT.RetrieveMessage Val(txtMessageNumber.Text)
  687.     Case tbADDALIAS
  688.         Load frmAddAlias
  689.         If (CurrentNode.Image = icoGROUP) Then frmAddAlias.txtGroup.Text = CurrentNode.Text
  690.         frmAddAlias.Show vbModal
  691.     Case tbDELALIAS
  692.         Call DeleteAliases(Tree, Addresses)
  693.     Case tbSTARTTIMER
  694.         If (Button.Value = tbrPressed) Then
  695.             mailSpooler.Interval = 60000
  696.         Else
  697.             mailSpooler.Interval = 0
  698.         End If
  699.     Case Else
  700.     End Select
  701. '------------------------------------------------------------
  702. End Sub
  703. '------------------------------------------------------------
  704. Private Sub Tree_NodeClick(ByVal Node As Node)
  705.     Set CurrentNode = Node
  706.     Tools.Buttons(tbDELALIAS).Enabled = (Node.Key <> MAILGROUPROOT)
  707. End Sub
  708.